<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="cache-control" content="no-cache">
<title>Genivia - Plugins and plugin registry functions</title>
<link href="genivia_tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="genivia_content.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="top">
 <div id="titlearea">
  <table height="72px" width="100%" cellspacing="0" cellpadding="0">
   <tbody>
    <tr>
     <td width="10%">&nbsp;</td>
     <td width="175px"><a href="https://www.genivia.com"><img alt="Genivia" src="GeniviaLogo2_trans_noslogan.png"/></a></td>
     <td class="tab_home"><a href="https://www.genivia.com">Home</a></td>
     <td class="tab_home"><a href="https://www.genivia.com/docs.html">Documentation</a></td>
     <td>
      <div style="float: right; font-size: 18px; font-weight: bold;">Plugins and plugin registry functions</div>
      <br>
      <div style="float: right; font-size: 10px;">updated Thu Dec 23 2021 by Robert van Engelen</div>
     </td>
     <td width="10%">&nbsp;</td>
    </tr>
   </tbody>
  </table>
 </div>
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__plugin.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Plugins and plugin registry functions</div>  </div>
</div><!--header-->
<div class="contents">

<p>This module defines plugin registry functions to register plugins.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gad645e5a58ed442fe4753dcc2338c8bdb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__plugin.html#gad645e5a58ed442fe4753dcc2338c8bdb">soap_register_plugin</a> (struct <a class="el" href="structsoap.html">soap</a> *<a class="el" href="structsoap.html">soap</a>, int(*fcreate)(struct <a class="el" href="structsoap.html">soap</a> *, struct soap_plugin *, void *))</td></tr>
<tr class="memdesc:gad645e5a58ed442fe4753dcc2338c8bdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a plugin.  <a href="#gad645e5a58ed442fe4753dcc2338c8bdb">More...</a><br /></td></tr>
<tr class="separator:gad645e5a58ed442fe4753dcc2338c8bdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga800a005ce0f0236461d1a5dbf4be2a80"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__plugin.html#ga800a005ce0f0236461d1a5dbf4be2a80">soap_register_plugin_arg</a> (struct <a class="el" href="structsoap.html">soap</a> *<a class="el" href="structsoap.html">soap</a>, int(*fcreate)(struct <a class="el" href="structsoap.html">soap</a> *, struct soap_plugin *, void *), void *arg)</td></tr>
<tr class="memdesc:ga800a005ce0f0236461d1a5dbf4be2a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a plugin with an argument.  <a href="#ga800a005ce0f0236461d1a5dbf4be2a80">More...</a><br /></td></tr>
<tr class="separator:ga800a005ce0f0236461d1a5dbf4be2a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>This module defines plugin registry functions to register plugins. </p>
<p>Available plugins:</p><ul>
<li><code><a class="el" href="group__group__debug.html#gac637945d0869d91a4b00dc1ddaced537" title="The logging plugin registration function. ">logging</a></code> plugin</li>
<li><code><a class="el" href="group__group__io.html#ga0ecdc43a53e494edc4f84e8c135659ba" title="The HTTP GET plugin registration function. ">http_get</a></code> HTTP GET plugin</li>
<li><code><a class="el" href="group__group__io.html#ga4c08d5ef28bc0dc37eee4633acdd1140" title="The HTTP POST plugin registration function. ">http_post</a></code> HTTP POST plugin</li>
<li><a href="../../httpda/html/httpda.html">HTTP digest authentication plugin</a></li>
<li><a href="../../sessions/html/index.html">HTTP sessions plugin</a></li>
<li><a href="../../curl/html/index.html">CURL plugin</a></li>
<li><a href="../../wininet/html/index.html">WinInet plugin</a></li>
<li><a href="../../wsse/html/wsse.html">WS-Security plugin</a></li>
<li><a href="../../wsa/html/wsa_0.html">WS-Addressing plugin</a></li>
<li><a href="../../wsrm/html/wsrm_0.html">WS-ReliableMessaging plugin</a></li>
<li><a href="../../wsdd/html/wsdd_0.html">WS-Discovery plugin</a></li>
</ul>
<p>Modules and extensions:</p><ul>
<li><a href="../../isapi/html/index.html">ISAPI extension</a></li>
<li><a href="../../apache/html/index.html">Apache module</a></li>
</ul>
<p>Threads and mutex:</p><ul>
<li><a class="el" href="group__group__threads.html">Thread and mutex functions</a></li>
</ul>
<p>Other:</p><ul>
<li><a href="../../dom/html/index.html">XML DOM</a></li>
<li><a href="../../xml-rpc-json/html/index.html">XML-RPC and JSON</a> </li>
</ul>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gad645e5a58ed442fe4753dcc2338c8bdb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_register_plugin </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structsoap.html">soap</a> *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(struct <a class="el" href="structsoap.html">soap</a> *, struct soap_plugin *, void *)&#160;</td>
          <td class="paramname"><em>fcreate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register a plugin. </p>
<p>This function registers the specified plugin with the specified engine's context. The <code>fcreate</code> parameter is defined by the plugin library as a plugin registration function that when called initializes the plugin state. Returns <code><a class="el" href="group__group__errors.html#ga3b10a68f354f39cbb0fe0d043ad4c7c0" title="The soap_status code for no error (zero) ">SOAP_OK</a></code> or a <code><a class="el" href="group__group__errors.html#gac0eadf8f72bacb5b41b750beaeca0444" title="Status and error codes are int values, a zero value or SOAP_OK (0) means no error, nonzero means error. ">soap_status</a></code> error code such as <code><a class="el" href="group__group__errors.html#ga955e26e41395aed19fd78ce1a2f395b0" title="A soap_status error code: failed to register plugin. ">SOAP_PLUGIN_ERROR</a></code>.</p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="group__group__plugin.html#ga800a005ce0f0236461d1a5dbf4be2a80" title="Register a plugin with an argument. ">soap_register_plugin_arg</a></code>, <code><a class="el" href="group__group__io.html#ga0ecdc43a53e494edc4f84e8c135659ba" title="The HTTP GET plugin registration function. ">http_get</a></code>, <code><a class="el" href="group__group__io.html#ga4c08d5ef28bc0dc37eee4633acdd1140" title="The HTTP POST plugin registration function. ">http_post</a></code>, <code><a class="el" href="group__group__debug.html#gac637945d0869d91a4b00dc1ddaced537" title="The logging plugin registration function. ">logging</a></code>.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd><code><a class="el" href="group__group__errors.html#ga3b10a68f354f39cbb0fe0d043ad4c7c0" title="The soap_status code for no error (zero) ">SOAP_OK</a></code> or a <code><a class="el" href="group__group__errors.html#gac0eadf8f72bacb5b41b750beaeca0444" title="Status and error codes are int values, a zero value or SOAP_OK (0) means no error, nonzero means error. ">soap_status</a></code> error code </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">soap</td><td><code><a class="el" href="structsoap.html" title="Context with the engine state. ">soap</a></code> context </td></tr>
    <tr><td class="paramname">fcreate</td><td>plugin registration function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga800a005ce0f0236461d1a5dbf4be2a80"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_register_plugin_arg </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structsoap.html">soap</a> *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(struct <a class="el" href="structsoap.html">soap</a> *, struct soap_plugin *, void *)&#160;</td>
          <td class="paramname"><em>fcreate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register a plugin with an argument. </p>
<p>This function registers the specified plugin with the specified engine's context. The <code>fcreate</code> parameter is defined by the plugin library as a plugin registration function that when called initializes the plugin state. The argument <code>arg</code> is passed to the plugin registration function. Returns <code><a class="el" href="group__group__errors.html#ga3b10a68f354f39cbb0fe0d043ad4c7c0" title="The soap_status code for no error (zero) ">SOAP_OK</a></code> or a <code><a class="el" href="group__group__errors.html#gac0eadf8f72bacb5b41b750beaeca0444" title="Status and error codes are int values, a zero value or SOAP_OK (0) means no error, nonzero means error. ">soap_status</a></code> error code such as <code><a class="el" href="group__group__errors.html#ga955e26e41395aed19fd78ce1a2f395b0" title="A soap_status error code: failed to register plugin. ">SOAP_PLUGIN_ERROR</a></code>.</p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="group__group__plugin.html#gad645e5a58ed442fe4753dcc2338c8bdb" title="Register a plugin. ">soap_register_plugin</a></code>, <code><a class="el" href="group__group__io.html#ga0ecdc43a53e494edc4f84e8c135659ba" title="The HTTP GET plugin registration function. ">http_get</a></code>, <code><a class="el" href="group__group__io.html#ga4c08d5ef28bc0dc37eee4633acdd1140" title="The HTTP POST plugin registration function. ">http_post</a></code>, <code><a class="el" href="group__group__debug.html#gac637945d0869d91a4b00dc1ddaced537" title="The logging plugin registration function. ">logging</a></code>.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd><code><a class="el" href="group__group__errors.html#ga3b10a68f354f39cbb0fe0d043ad4c7c0" title="The soap_status code for no error (zero) ">SOAP_OK</a></code> or a <code><a class="el" href="group__group__errors.html#gac0eadf8f72bacb5b41b750beaeca0444" title="Status and error codes are int values, a zero value or SOAP_OK (0) means no error, nonzero means error. ">soap_status</a></code> error code </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">soap</td><td><code><a class="el" href="structsoap.html" title="Context with the engine state. ">soap</a></code> context </td></tr>
    <tr><td class="paramname">fcreate</td><td>plugin registration function </td></tr>
    <tr><td class="paramname">arg</td><td>argument passed to the plugin registration function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<hr class="footer">
<address class="footer">
Copyright (C) 2021, Robert van Engelen, Genivia Inc., All Rights Reserved.
</address>
<address class="footer"><small>
Converted on Thu Dec 23 2021 13:46:46 by <a target="_blank" href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.11</small></address>
<br>
<div style="height: 246px; background: #DBDBDB;">
</body>
</html>
